import React, { Component } from 'react';

/*
  学习目标：生命周期 - 卸载阶段
  三个阶段
     1. 挂载时
     2. 更新时
     3. 卸载时
*/
export default class APP extends Component {
  state = {
    isShow: true,
  };
  render() {
    const { isShow } = this.state;
    return (
      <div>
        <h1>HelloReact</h1>
        {isShow && <Child count={1}></Child>}
      </div>
    );
  }
}
// 需求：
// 1. 挂载后开启定时器
// 2.卸载时，关闭定时器
class Child extends React.Component {
  componentDidMount() {
    this.TimerId = setInterval(() => {
      console.log('定时器再执行');
    }, 100);
  }
  // 对比： vue中的beforeDestory
  // 作用：🔔做清除的动作-清除定时器、清除监听的事件
  componentWillUnmount() {
    console.log('定时器卸载');
    clearInterval(this.TimerId);
  }
  render() {
    return <div>Child</div>;
  }
}
